//todo 用于权限管理的js文件
// 任何路由，被解析访问前，都会先执行这个回调
// router.beforeEach((to, from, next) => {
// ...
// from 你从哪里来， 从哪来的路由信息对象
// to   你往哪里去， 到哪去的路由信息对象
// next() 是否放行，如果next()调用，就是放行 => 放你去想去的页面
//  next(路径) 拦截到某个路径页面
//   console.log("to", to);
//   console.log("from", from);
//   next(); //如果不写那就没有办法跳转了
// });

// 1.引入路由
import router from "@/router/index";

//2. 引入存储的文件
import { getItem, key } from "@/utils/localStorage";

// 3.用方法限制一下(有token才可以去别的页面)
// 定义一个白名单
const WhiteList = ["/login", "/register"];
router.beforeEach((to, from, next) => {
  const token = getItem(key);
  // 先判断是否有 token
  if (token) {
    // 如果有
    next(); //直接放行
  } else {
    // 如果没有，需要让它跳转回登录页面
    // (但是去往登录页面和注册页面不要token也可以去往==>白名单)
    // 所以里层需要再次判断如果去往不用token的页面，直接去即可
    if (WhiteList.includes(to.path)) {
      next();
    } else {
      next("/login");
    }
  }
});
